Thuật toán Trémaux Thuật toán tìm đường đi trong mê cung

Thuật toán Trémaux được Charles Pierre Trémaux[4] phát minh, sử dụng các dấu hiệu để ghi nhớ đường đi, ví dụ đánh dấu trên mặt sàn, là một phương pháp hiệu quả để tìm lối ra của một mê cung. Thuật toán có thể giải tất cả các mê cung có đường đi rõ ràng.[5]

Một đường trong mê cung sẽ được ghi nhớ bằng cách đánh dấu bởi một trong 3 trạng thái: chưa qua, đã qua 1 lần hoặc qua 2 lần. Một đường được chọn để đi sẽ luôn được đánh dấu bằng 1 vạch dưới sàn (từ ngã giao này đến ngã giao kia). Tại điểm bắt đầu có thể chọn một hướng bất kỳ (nếu có nhiều hơn một hướng). Khi đến một ngã giao, nếu các đường rẽ đều chưa qua, thì chọn ngẫu nhiên 1 đường để đi và đánh dấu đường ấy 1 vạch. Khi gặp một ngã giao mà đường trước mặt theo hướng đi hiện tại đã có 1 dấu, và đường đang đi hiện tại chỉ mới đánh dấu 1 lần, thì quay trở lại và đánh dấu đường ấy 2 vạch. Nếu đến 1 ngã giao mà không rơi vào 2 trường hợp trên, thì chọn đường đi có ít vạch nhất, và nhớ đánh dấu đường ấy luôn. Khi đến đích, thì những con đường chỉ đánh dấu 1 vạch là đường dẫn trở về điểm xuất phát.

Nếu không có ngã ra, thì phương pháp này sẽ dẫn người đi trở về lại điểm xuất phát, và khi ấy tất cả con đường sẽ đánh dấu 2 vạch, mỗi vạch tương ứng với 1 hướng đi. Kết quả được gọi là vạch đôi 2 chiều.[6]

Về cơ bản, thuật toán này được phát hiện từ thế kỷ 19 đã được sử dụng khoảng hàng trăm năm sau như một phương pháp tìm kiếm ưu tiên chiều sâu.[7][8]

Mô phỏng thuật toán Trémaux

Tài liệu tham khảo

WikiPedia: Thuật toán tìm đường đi trong mê cung http://books.google.com/books?id=m3QTSMYm5rkC&pg=P... http://www.mazeworks.com/mazegen/ http://www.youtube.com/watch?v=FkueaIT6RSU&NR=1 http://www.youtube.com/watch?v=jhL8uELbVIM http://www.youtube.com/watch?v=yqZDYcpCGAI http://www.astrolog.org/labyrnth/algrithm.htm#solv... http://www.cb.uu.se/~cris/blog/index.php/archives/... https://www.youtube.com/watch?v=IIBwiGrUgzc https://www.youtube.com/watch?v=k1tSK5V1pds